using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Windows.Forms;

using FreeFlow.Administration;
using FreeFlow.WinFormsControls.HelperClasses;

namespace FreeFlowAdministrator
{
	/// <summary>
	/// Summary description for DesignerLogEntryControl.
	/// </summary>
	public class DesignerLogEntryControl : AdminUserControl
	{
    private System.Windows.Forms.Label label1;
    private System.Windows.Forms.TextBox descriptionTextBox;
    private System.Windows.Forms.Label label2;
    private System.Windows.Forms.TextBox preEvalTextBox;
    private System.Windows.Forms.Label label3;
    private System.Windows.Forms.TextBox postEvalTextBox;
    private System.Windows.Forms.Label label4;
    private System.Windows.Forms.TextBox detailsTextBox;
    private System.Windows.Forms.Label label5;
    private System.Windows.Forms.Label label6;
    private System.Windows.Forms.Label label7;
    private System.Windows.Forms.TextBox procedureLabel;
    private System.Windows.Forms.TextBox mapLabel;
    private System.Windows.Forms.TextBox stageLabel;
    private System.Windows.Forms.Label label8;
    private System.Windows.Forms.TextBox timeLabel;
    private System.Windows.Forms.Label label9;
    private System.Windows.Forms.TextBox actionLabel;
    private System.Windows.Forms.Label label10;
    private System.Windows.Forms.TextBox folderIdLabel;
    private System.Windows.Forms.Label selectionLabel;
    private System.Windows.Forms.ToolTip toolTip;
    private System.Windows.Forms.PictureBox pictureBox1;
    private System.Windows.Forms.Label label11;
    private System.Windows.Forms.TextBox sourceLabel;
    private System.Windows.Forms.PictureBox noParentImage;
    private System.Windows.Forms.Label label12;
    private System.Windows.Forms.TextBox userLabel;
    private System.Windows.Forms.Label label13;
    private System.Windows.Forms.TextBox formLabel;
    private System.Windows.Forms.Label label14;
    private System.Windows.Forms.TextBox fieldLabel;
    private FreeFlowAdministrator.UIActionsControl uiActionsControl;
    private System.Windows.Forms.Label label15;
    private System.Windows.Forms.TextBox propertyLabel;
    private System.Windows.Forms.Label label16;
    private System.Windows.Forms.Label label17;
    private System.Windows.Forms.TextBox classLabel;
    private System.Windows.Forms.TextBox methodLabel;
    private System.ComponentModel.IContainer components;

		public DesignerLogEntryControl()
		{
			// This call is required by the Windows.Forms Form Designer.
			InitializeComponent();

      Application.Idle += new EventHandler(Application_Idle);
		}

		/// <summary> 
		/// Clean up any resources being used.
		/// </summary>
		protected override void Dispose( bool disposing )
		{
      Application.Idle -= new EventHandler(Application_Idle);
			if( disposing )
			{
				if(components != null)
				{
					components.Dispose();
				}
			}
			base.Dispose( disposing );
		}

		#region Component Designer generated code
		/// <summary> 
		/// Required method for Designer support - do not modify 
		/// the contents of this method with the code editor.
		/// </summary>
		private void InitializeComponent()
		{
      this.components = new System.ComponentModel.Container();
      System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(DesignerLogEntryControl));
      this.label1 = new System.Windows.Forms.Label();
      this.descriptionTextBox = new System.Windows.Forms.TextBox();
      this.label2 = new System.Windows.Forms.Label();
      this.preEvalTextBox = new System.Windows.Forms.TextBox();
      this.label3 = new System.Windows.Forms.Label();
      this.postEvalTextBox = new System.Windows.Forms.TextBox();
      this.label4 = new System.Windows.Forms.Label();
      this.detailsTextBox = new System.Windows.Forms.TextBox();
      this.label5 = new System.Windows.Forms.Label();
      this.label6 = new System.Windows.Forms.Label();
      this.label7 = new System.Windows.Forms.Label();
      this.procedureLabel = new System.Windows.Forms.TextBox();
      this.mapLabel = new System.Windows.Forms.TextBox();
      this.stageLabel = new System.Windows.Forms.TextBox();
      this.label8 = new System.Windows.Forms.Label();
      this.timeLabel = new System.Windows.Forms.TextBox();
      this.label9 = new System.Windows.Forms.Label();
      this.actionLabel = new System.Windows.Forms.TextBox();
      this.label10 = new System.Windows.Forms.Label();
      this.folderIdLabel = new System.Windows.Forms.TextBox();
      this.selectionLabel = new System.Windows.Forms.Label();
      this.toolTip = new System.Windows.Forms.ToolTip(this.components);
      this.noParentImage = new System.Windows.Forms.PictureBox();
      this.pictureBox1 = new System.Windows.Forms.PictureBox();
      this.label11 = new System.Windows.Forms.Label();
      this.sourceLabel = new System.Windows.Forms.TextBox();
      this.label12 = new System.Windows.Forms.Label();
      this.userLabel = new System.Windows.Forms.TextBox();
      this.label13 = new System.Windows.Forms.Label();
      this.formLabel = new System.Windows.Forms.TextBox();
      this.label14 = new System.Windows.Forms.Label();
      this.fieldLabel = new System.Windows.Forms.TextBox();
      this.uiActionsControl = new FreeFlowAdministrator.UIActionsControl();
      this.label15 = new System.Windows.Forms.Label();
      this.propertyLabel = new System.Windows.Forms.TextBox();
      this.label16 = new System.Windows.Forms.Label();
      this.label17 = new System.Windows.Forms.Label();
      this.classLabel = new System.Windows.Forms.TextBox();
      this.methodLabel = new System.Windows.Forms.TextBox();
      this.SuspendLayout();
      // 
      // label1
      // 
      this.label1.Location = new System.Drawing.Point(8, 232);
      this.label1.Name = "label1";
      this.label1.Size = new System.Drawing.Size(100, 16);
      this.label1.TabIndex = 0;
      this.label1.Text = "Description";
      // 
      // descriptionTextBox
      // 
      this.descriptionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
        | System.Windows.Forms.AnchorStyles.Right)));
      this.descriptionTextBox.Location = new System.Drawing.Point(8, 248);
      this.descriptionTextBox.Name = "descriptionTextBox";
      this.descriptionTextBox.ReadOnly = true;
      this.descriptionTextBox.Size = new System.Drawing.Size(456, 20);
      this.descriptionTextBox.TabIndex = 1;
      this.descriptionTextBox.Text = "descriptionTextBox";
      // 
      // label2
      // 
      this.label2.Location = new System.Drawing.Point(8, 280);
      this.label2.Name = "label2";
      this.label2.Size = new System.Drawing.Size(100, 16);
      this.label2.TabIndex = 2;
      this.label2.Text = "Pre-evaluation";
      // 
      // preEvalTextBox
      // 
      this.preEvalTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
        | System.Windows.Forms.AnchorStyles.Right)));
      this.preEvalTextBox.Location = new System.Drawing.Point(8, 296);
      this.preEvalTextBox.Multiline = true;
      this.preEvalTextBox.Name = "preEvalTextBox";
      this.preEvalTextBox.ReadOnly = true;
      this.preEvalTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
      this.preEvalTextBox.Size = new System.Drawing.Size(456, 64);
      this.preEvalTextBox.TabIndex = 3;
      this.preEvalTextBox.Text = "preEvalTextBox";
      // 
      // label3
      // 
      this.label3.Location = new System.Drawing.Point(8, 368);
      this.label3.Name = "label3";
      this.label3.Size = new System.Drawing.Size(100, 16);
      this.label3.TabIndex = 4;
      this.label3.Text = "Post-evaluation";
      // 
      // postEvalTextBox
      // 
      this.postEvalTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
        | System.Windows.Forms.AnchorStyles.Right)));
      this.postEvalTextBox.Location = new System.Drawing.Point(8, 384);
      this.postEvalTextBox.Multiline = true;
      this.postEvalTextBox.Name = "postEvalTextBox";
      this.postEvalTextBox.ReadOnly = true;
      this.postEvalTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
      this.postEvalTextBox.Size = new System.Drawing.Size(456, 64);
      this.postEvalTextBox.TabIndex = 5;
      this.postEvalTextBox.Text = "postEvalTextBox";
      // 
      // label4
      // 
      this.label4.Location = new System.Drawing.Point(8, 456);
      this.label4.Name = "label4";
      this.label4.Size = new System.Drawing.Size(100, 16);
      this.label4.TabIndex = 6;
      this.label4.Text = "Details";
      // 
      // detailsTextBox
      // 
      this.detailsTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 
        | System.Windows.Forms.AnchorStyles.Left) 
        | System.Windows.Forms.AnchorStyles.Right)));
      this.detailsTextBox.Location = new System.Drawing.Point(8, 472);
      this.detailsTextBox.Multiline = true;
      this.detailsTextBox.Name = "detailsTextBox";
      this.detailsTextBox.ReadOnly = true;
      this.detailsTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
      this.detailsTextBox.Size = new System.Drawing.Size(456, 64);
      this.detailsTextBox.TabIndex = 7;
      this.detailsTextBox.Text = "detailsTextBox";
      // 
      // label5
      // 
      this.label5.Location = new System.Drawing.Point(8, 24);
      this.label5.Name = "label5";
      this.label5.Size = new System.Drawing.Size(64, 16);
      this.label5.TabIndex = 8;
      this.label5.Text = "Procedure:";
      // 
      // label6
      // 
      this.label6.Location = new System.Drawing.Point(8, 40);
      this.label6.Name = "label6";
      this.label6.Size = new System.Drawing.Size(40, 16);
      this.label6.TabIndex = 9;
      this.label6.Text = "Map:";
      // 
      // label7
      // 
      this.label7.Location = new System.Drawing.Point(8, 56);
      this.label7.Name = "label7";
      this.label7.Size = new System.Drawing.Size(40, 16);
      this.label7.TabIndex = 10;
      this.label7.Text = "Stage:";
      // 
      // procedureLabel
      // 
      this.procedureLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
        | System.Windows.Forms.AnchorStyles.Right)));
      this.procedureLabel.BorderStyle = System.Windows.Forms.BorderStyle.None;
      this.procedureLabel.Location = new System.Drawing.Point(88, 24);
      this.procedureLabel.Name = "procedureLabel";
      this.procedureLabel.ReadOnly = true;
      this.procedureLabel.Size = new System.Drawing.Size(336, 13);
      this.procedureLabel.TabIndex = 11;
      this.procedureLabel.Text = "procedureLabel";
      // 
      // mapLabel
      // 
      this.mapLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
        | System.Windows.Forms.AnchorStyles.Right)));
      this.mapLabel.BorderStyle = System.Windows.Forms.BorderStyle.None;
      this.mapLabel.Location = new System.Drawing.Point(88, 40);
      this.mapLabel.Name = "mapLabel";
      this.mapLabel.ReadOnly = true;
      this.mapLabel.Size = new System.Drawing.Size(336, 13);
      this.mapLabel.TabIndex = 12;
      this.mapLabel.Text = "mapLabel";
      // 
      // stageLabel
      // 
      this.stageLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
        | System.Windows.Forms.AnchorStyles.Right)));
      this.stageLabel.BorderStyle = System.Windows.Forms.BorderStyle.None;
      this.stageLabel.Location = new System.Drawing.Point(88, 56);
      this.stageLabel.Name = "stageLabel";
      this.stageLabel.ReadOnly = true;
      this.stageLabel.Size = new System.Drawing.Size(376, 13);
      this.stageLabel.TabIndex = 13;
      this.stageLabel.Text = "stageLabel";
      // 
      // label8
      // 
      this.label8.Location = new System.Drawing.Point(8, 8);
      this.label8.Name = "label8";
      this.label8.Size = new System.Drawing.Size(40, 16);
      this.label8.TabIndex = 14;
      this.label8.Text = "Time:";
      // 
      // timeLabel
      // 
      this.timeLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
        | System.Windows.Forms.AnchorStyles.Right)));
      this.timeLabel.BorderStyle = System.Windows.Forms.BorderStyle.None;
      this.timeLabel.Location = new System.Drawing.Point(88, 8);
      this.timeLabel.Name = "timeLabel";
      this.timeLabel.ReadOnly = true;
      this.timeLabel.Size = new System.Drawing.Size(336, 13);
      this.timeLabel.TabIndex = 15;
      this.timeLabel.Text = "timeLabel";
      // 
      // label9
      // 
      this.label9.Location = new System.Drawing.Point(8, 72);
      this.label9.Name = "label9";
      this.label9.Size = new System.Drawing.Size(56, 16);
      this.label9.TabIndex = 16;
      this.label9.Text = "Action:";
      // 
      // actionLabel
      // 
      this.actionLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
        | System.Windows.Forms.AnchorStyles.Right)));
      this.actionLabel.BorderStyle = System.Windows.Forms.BorderStyle.None;
      this.actionLabel.Location = new System.Drawing.Point(88, 72);
      this.actionLabel.Name = "actionLabel";
      this.actionLabel.ReadOnly = true;
      this.actionLabel.Size = new System.Drawing.Size(376, 13);
      this.actionLabel.TabIndex = 17;
      this.actionLabel.Text = "actionLabel";
      // 
      // label10
      // 
      this.label10.Location = new System.Drawing.Point(8, 88);
      this.label10.Name = "label10";
      this.label10.Size = new System.Drawing.Size(40, 16);
      this.label10.TabIndex = 18;
      this.label10.Text = "Folder:";
      // 
      // folderIdLabel
      // 
      this.folderIdLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
        | System.Windows.Forms.AnchorStyles.Right)));
      this.folderIdLabel.BorderStyle = System.Windows.Forms.BorderStyle.None;
      this.folderIdLabel.Location = new System.Drawing.Point(88, 88);
      this.folderIdLabel.Name = "folderIdLabel";
      this.folderIdLabel.ReadOnly = true;
      this.folderIdLabel.Size = new System.Drawing.Size(376, 13);
      this.folderIdLabel.TabIndex = 19;
      this.folderIdLabel.Text = "folderIdLabel";
      // 
      // selectionLabel
      // 
      this.selectionLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
        | System.Windows.Forms.AnchorStyles.Right)));
      this.selectionLabel.Location = new System.Drawing.Point(112, 280);
      this.selectionLabel.Name = "selectionLabel";
      this.selectionLabel.Size = new System.Drawing.Size(352, 16);
      this.selectionLabel.TabIndex = 20;
      this.selectionLabel.Text = "selectionLabel";
      this.toolTip.SetToolTip(this.selectionLabel, "This is the start of the selected text below. If the details section shows a posi" +
        "tion, this will help locate that position");
      // 
      // noParentImage
      // 
      this.noParentImage.Image = ((System.Drawing.Image)(resources.GetObject("noParentImage.Image")));
      this.noParentImage.Location = new System.Drawing.Point(72, 88);
      this.noParentImage.Name = "noParentImage";
      this.noParentImage.Size = new System.Drawing.Size(16, 16);
      this.noParentImage.TabIndex = 25;
      this.noParentImage.TabStop = false;
      this.toolTip.SetToolTip(this.noParentImage, "Although the entry has an associated folder ID, the folder does not exist");
      this.noParentImage.Visible = false;
      // 
      // pictureBox1
      // 
      this.pictureBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
      this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image")));
      this.pictureBox1.Location = new System.Drawing.Point(432, 8);
      this.pictureBox1.Name = "pictureBox1";
      this.pictureBox1.Size = new System.Drawing.Size(32, 32);
      this.pictureBox1.TabIndex = 21;
      this.pictureBox1.TabStop = false;
      // 
      // label11
      // 
      this.label11.Location = new System.Drawing.Point(8, 104);
      this.label11.Name = "label11";
      this.label11.Size = new System.Drawing.Size(48, 16);
      this.label11.TabIndex = 22;
      this.label11.Text = "Source:";
      // 
      // sourceLabel
      // 
      this.sourceLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
        | System.Windows.Forms.AnchorStyles.Right)));
      this.sourceLabel.BorderStyle = System.Windows.Forms.BorderStyle.None;
      this.sourceLabel.Location = new System.Drawing.Point(88, 104);
      this.sourceLabel.Name = "sourceLabel";
      this.sourceLabel.ReadOnly = true;
      this.sourceLabel.Size = new System.Drawing.Size(376, 13);
      this.sourceLabel.TabIndex = 23;
      this.sourceLabel.Text = "sourceLabel";
      // 
      // label12
      // 
      this.label12.Location = new System.Drawing.Point(8, 136);
      this.label12.Name = "label12";
      this.label12.Size = new System.Drawing.Size(48, 16);
      this.label12.TabIndex = 26;
      this.label12.Text = "User:";
      // 
      // userLabel
      // 
      this.userLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
        | System.Windows.Forms.AnchorStyles.Right)));
      this.userLabel.BorderStyle = System.Windows.Forms.BorderStyle.None;
      this.userLabel.Location = new System.Drawing.Point(88, 136);
      this.userLabel.Name = "userLabel";
      this.userLabel.ReadOnly = true;
      this.userLabel.Size = new System.Drawing.Size(376, 13);
      this.userLabel.TabIndex = 27;
      this.userLabel.Text = "userLabel";
      // 
      // label13
      // 
      this.label13.Location = new System.Drawing.Point(8, 152);
      this.label13.Name = "label13";
      this.label13.Size = new System.Drawing.Size(40, 16);
      this.label13.TabIndex = 28;
      this.label13.Text = "Form:";
      // 
      // formLabel
      // 
      this.formLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
        | System.Windows.Forms.AnchorStyles.Right)));
      this.formLabel.BorderStyle = System.Windows.Forms.BorderStyle.None;
      this.formLabel.Location = new System.Drawing.Point(88, 152);
      this.formLabel.Name = "formLabel";
      this.formLabel.ReadOnly = true;
      this.formLabel.Size = new System.Drawing.Size(376, 13);
      this.formLabel.TabIndex = 29;
      this.formLabel.Text = "formLabel";
      // 
      // label14
      // 
      this.label14.Location = new System.Drawing.Point(8, 168);
      this.label14.Name = "label14";
      this.label14.Size = new System.Drawing.Size(56, 16);
      this.label14.TabIndex = 30;
      this.label14.Text = "Field:";
      // 
      // fieldLabel
      // 
      this.fieldLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
        | System.Windows.Forms.AnchorStyles.Right)));
      this.fieldLabel.BorderStyle = System.Windows.Forms.BorderStyle.None;
      this.fieldLabel.Location = new System.Drawing.Point(88, 168);
      this.fieldLabel.Name = "fieldLabel";
      this.fieldLabel.ReadOnly = true;
      this.fieldLabel.Size = new System.Drawing.Size(376, 13);
      this.fieldLabel.TabIndex = 31;
      this.fieldLabel.Text = "fieldLabel";
      // 
      // uiActionsControl
      // 
      this.uiActionsControl.Actions = null;
      this.uiActionsControl.Dock = System.Windows.Forms.DockStyle.Right;
      this.uiActionsControl.Location = new System.Drawing.Point(474, 0);
      this.uiActionsControl.Name = "uiActionsControl";
      this.uiActionsControl.Size = new System.Drawing.Size(150, 544);
      this.uiActionsControl.TabIndex = 32;
      // 
      // label15
      // 
      this.label15.Location = new System.Drawing.Point(8, 120);
      this.label15.Name = "label15";
      this.label15.Size = new System.Drawing.Size(56, 16);
      this.label15.TabIndex = 33;
      this.label15.Text = "Property:";
      // 
      // propertyLabel
      // 
      this.propertyLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
        | System.Windows.Forms.AnchorStyles.Right)));
      this.propertyLabel.BackColor = System.Drawing.SystemColors.Control;
      this.propertyLabel.BorderStyle = System.Windows.Forms.BorderStyle.None;
      this.propertyLabel.Location = new System.Drawing.Point(88, 120);
      this.propertyLabel.Name = "propertyLabel";
      this.propertyLabel.ReadOnly = true;
      this.propertyLabel.Size = new System.Drawing.Size(376, 13);
      this.propertyLabel.TabIndex = 34;
      this.propertyLabel.Text = "propertyLabel";
      // 
      // label16
      // 
      this.label16.Location = new System.Drawing.Point(8, 184);
      this.label16.Name = "label16";
      this.label16.Size = new System.Drawing.Size(40, 16);
      this.label16.TabIndex = 35;
      this.label16.Text = "Class:";
      // 
      // label17
      // 
      this.label17.Location = new System.Drawing.Point(8, 200);
      this.label17.Name = "label17";
      this.label17.Size = new System.Drawing.Size(48, 16);
      this.label17.TabIndex = 36;
      this.label17.Text = "Method:";
      // 
      // classLabel
      // 
      this.classLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
        | System.Windows.Forms.AnchorStyles.Right)));
      this.classLabel.BorderStyle = System.Windows.Forms.BorderStyle.None;
      this.classLabel.Location = new System.Drawing.Point(88, 184);
      this.classLabel.Name = "classLabel";
      this.classLabel.ReadOnly = true;
      this.classLabel.Size = new System.Drawing.Size(376, 13);
      this.classLabel.TabIndex = 37;
      this.classLabel.Text = "classLabel";
      // 
      // methodLabel
      // 
      this.methodLabel.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
        | System.Windows.Forms.AnchorStyles.Right)));
      this.methodLabel.BorderStyle = System.Windows.Forms.BorderStyle.None;
      this.methodLabel.Location = new System.Drawing.Point(88, 200);
      this.methodLabel.Name = "methodLabel";
      this.methodLabel.ReadOnly = true;
      this.methodLabel.Size = new System.Drawing.Size(376, 13);
      this.methodLabel.TabIndex = 38;
      this.methodLabel.Text = "methodLabel";
      // 
      // DesignerLogEntryControl
      // 
      this.Controls.Add(this.methodLabel);
      this.Controls.Add(this.classLabel);
      this.Controls.Add(this.label17);
      this.Controls.Add(this.label16);
      this.Controls.Add(this.propertyLabel);
      this.Controls.Add(this.label15);
      this.Controls.Add(this.uiActionsControl);
      this.Controls.Add(this.fieldLabel);
      this.Controls.Add(this.label14);
      this.Controls.Add(this.formLabel);
      this.Controls.Add(this.label13);
      this.Controls.Add(this.userLabel);
      this.Controls.Add(this.label12);
      this.Controls.Add(this.noParentImage);
      this.Controls.Add(this.sourceLabel);
      this.Controls.Add(this.label11);
      this.Controls.Add(this.pictureBox1);
      this.Controls.Add(this.selectionLabel);
      this.Controls.Add(this.folderIdLabel);
      this.Controls.Add(this.label10);
      this.Controls.Add(this.actionLabel);
      this.Controls.Add(this.label9);
      this.Controls.Add(this.timeLabel);
      this.Controls.Add(this.label8);
      this.Controls.Add(this.stageLabel);
      this.Controls.Add(this.mapLabel);
      this.Controls.Add(this.procedureLabel);
      this.Controls.Add(this.label7);
      this.Controls.Add(this.label6);
      this.Controls.Add(this.label5);
      this.Controls.Add(this.detailsTextBox);
      this.Controls.Add(this.label4);
      this.Controls.Add(this.postEvalTextBox);
      this.Controls.Add(this.label3);
      this.Controls.Add(this.preEvalTextBox);
      this.Controls.Add(this.label2);
      this.Controls.Add(this.descriptionTextBox);
      this.Controls.Add(this.label1);
      this.Name = "DesignerLogEntryControl";
      this.Size = new System.Drawing.Size(624, 544);
      this.ResumeLayout(false);

    }
		#endregion

    private DesignerLogEntry entry;
    public void LoadEntry(DesignerLogEntry entry)
    {
      this.entry = entry;

      descriptionTextBox.Text = entry.Description;
      preEvalTextBox.Text = entry.PreEvaluation;
      postEvalTextBox.Text = entry.PostEvaluation;
      detailsTextBox.Text = entry.Details;
      procedureLabel.Text = entry.ProcedureName;
      mapLabel.Text = entry.MapName;
      stageLabel.Text = entry.StageName;
      actionLabel.Text = entry.ActionName;
      timeLabel.Text = entry.Time.ToString();
      if (entry.GetFolder() != null)
        folderIdLabel.Text = entry.GetFolder().Name;
      else
      {
        folderIdLabel.Text = entry.FolderId;
        if ((entry.FolderId != null) && (entry.FolderId.Trim().Length > 0))
          noParentImage.Visible = true;
      }

      sourceLabel.Text = entry.Source;
      propertyLabel.Text = entry.Property;
      userLabel.Text = entry.UserName;
      formLabel.Text = entry.FormName;
      fieldLabel.Text = entry.FieldName;
      classLabel.Text = entry.DetectedByClass;
      methodLabel.Text = entry.DetectedByMethod;

      UIActionList actions = new UIActionList();
      actions.Add("Delete", "Delete this designer log entry", 
        new ActionExecuteDelegate(DeleteEntry));
      actions.Add("Copy to clipboard", "Copy this entry to the clipboard", 
        new ActionExecuteDelegate(CopyToClipboard));
      if (entry.GetFolder() != null)
        actions.Add("Open folder", "Open the folder associated with this designer log entry", 
          new ActionExecuteDelegate(OpenFolder));
      uiActionsControl.Actions = actions;
    }

    private void Application_Idle(object sender, EventArgs e)
    {
      selectionLabel.Visible = preEvalTextBox.SelectionStart > 0;
      if (selectionLabel.Visible)
      {
        selectionLabel.Text = "Selection starts : " + preEvalTextBox.SelectionStart;
      }
    }

    private string OpenFolder()
    {
      FolderForm folderForm = new FolderForm();
      folderForm.LoadFolder(entry.GetFolder());
      folderForm.Show();
      return null;
    }

    private string DeleteEntry()
    {
      if (MessageBox.Show("Delete this entry?", "Confirm", MessageBoxButtons.YesNo) == DialogResult.Yes)
      {
        using (new CursorHandler())
        {
          entry.Delete();
        }
        OnItemDeleted();
        Dispose();
      }
      return null;
    }

    private string CopyToClipboard()
    {
      Clipboard.SetDataObject(entry.ToString(), true);
      return null;
    }
	}
}
